package com.example.springboot.mapper;

import com.example.springboot.entity.Order;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface OrderMapper {

    /**
     * 插入订单记录
     * @param order 订单对象
     */
    void insert(Order order);

    /**
     * 更新订单状态和其他信息
     * @param order 订单对象
     */
    void selfupdate(Order order);
    void merchantupdate(Order order);

    /**
     * 根据订单 ID 查找订单
     * @param orderId 订单 ID
     * @return 订单对象
     */
    Order findSOById(Integer orderId);
    Order findMOById(Integer orderId);

    /**
     * 根据用户ID和订单ID查找订单
     * @param userId 用户ID
     * @param orderId 订单ID
     * @return 订单对象
     */
    Order findByUserIdAndOrderId(Integer userId, Integer orderId);
    /**
     * 插入商家订单
     */
    void insertMerchantOrder(Order order);
    int rentalinsert(Order order);


    /**
     * 根据用户ID查找自助服务订单
     * @param userId 用户ID
     * @return 订单列表
     */
    List<Order> findSelfServiceOrdersByUserId(Integer userId);

    /**
     * 根据用户ID查找商家服务订单
     * @param userId 用户ID
     * @return 订单列表
     */
    List<Order> findMerchantOrdersByUserId(Integer userId);


}
